package club.vann.kafka.mock.common.model.enums;

import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
import lombok.Getter;

/** 文件类型。 */
public enum FileType {
  /** MMR表 */
  CSV("csv", "CSV文件"),
  ;

  /** 名称 */
  @Getter private final String key;

  /** 描述 */
  @Getter private final String desc;

  /** 映射关系 */
  private static final Map<String, FileType> MAPPING;

  static {
    MAPPING = new HashMap<>();
    for (FileType fileType : FileType.values()) {
      MAPPING.put(fileType.getKey(), fileType);
    }
  }

  FileType(String key, String desc) {
    this.key = key;
    this.desc = desc;
  }

  public static Optional<FileType> get(String name) {
    return Optional.ofNullable(MAPPING.get(name));
  }
}
